package collection;

import java.util.ArrayList;
import java.util.Collection;

/**
 * 集合与集合之间的方法*/
public class CollectionDemo02 {
    public static void main(String[] args) {
        Collection c1 = new ArrayList();
        c1.add("java");
        c1.add("c++");
        c1.add("python");
        System.out.println("集合1："+c1);

        Collection c2 = new ArrayList();
        c2.add("android");
        c2.add("ios");
        c2.add("huawei");
        System.out.println("集合2："+c2);

        /**
         * boolean addAll(collection c);
         * 将给定集合中所有元素添加到当前集合中，如果添加成功返回为true*/
        boolean c1boo =c1.addAll(c2);
        System.out.println("添加成功："+c1boo);
        System.out.println("集合1："+c1);

        /**
         * boolean containsAll(Collection c);
         * 判断当前集合中是否包含给定的参数集合中所有的元素。只有全部都包含才会返回为true*/
        Collection c3 = new ArrayList<>();
        c3.add("c++");
        c3.add("android");
        c3.add("php");
        System.out.println("集合3："+c3);

        boolean boo=c1.containsAll(c3);
        System.out.println("是否全部包含："+boo);

        /**
         * boolean retainAll(Collection c);
         * 取交集：取当前集合与给定参数集合中共有的元素赋值给当前集合，给定参数集合不会发生变化
         * 如果当前集合修改成功，返回为true*/
//        c1.retainAll(c3);
//        System.out.println("集合1："+c1);
//        System.out.println("集合3："+c3);

        /**
         * removeAll(collection c);
         * 删除交集: 在当前集合中删除与给定参数集合重复的数据
         *          删除成功返回为true*/
        c1.removeAll(c3);
        System.out.println("集合1："+c1);
        System.out.println("集合3："+c3);
    }
}
